package util

import "github.com/zeromicro/go-zero/core/stores/redis"

func RedisSet(redis *redis.Redis, key, value string, second int) error {
	value1, err := redis.Get(key)
	if err != nil {
		return err
	}
	if value1 != "" {
		if _, err := redis.Del(key); err != nil {
			return err
		}
	}
	if _, err := redis.SetnxEx(key, value, second); err != nil {
		return err
	}
	return nil
}

func RedisDelete(redis *redis.Redis, key string) error {
	if _, err := redis.Del(key); err != nil {
		return err
	}
	return nil
}

func RedisGet(redis *redis.Redis, key string) (string, error) {
	value, err := redis.Get(key)
	if err != nil {
		return "", err
	}
	return value, nil
}
